package pe.gob.osce.sirenas.dao.convert;

import java.util.ArrayList;
import java.util.List;

import pe.gob.osce.sirenas.model.IncidenciasDTO;
import pe.gob.osce.sirenas.model.jpa.Auditoria;
import pe.gob.osce.sirenas.model.jpa.Incidencias;

public class IncidenciasConvert {

	public IncidenciasConvert(){}
	
	public static Incidencias createJPA(IncidenciasDTO incidenciasDTO, Auditoria auditoria)
	{
		Incidencias objetoJPA= new Incidencias();
		
		objetoJPA.setIdIncidencia(incidenciasDTO.getIdIncidencia());
		objetoJPA.setIdFicha(incidenciasDTO.getIdFicha());
		objetoJPA.setIdEstadoIncidencia(incidenciasDTO.getIdEstadoIncidencia());
		objetoJPA.setIdMotivoIncidencia(incidenciasDTO.getIdMotivoIncidencia());		
		objetoJPA.setNumeroResolucion(incidenciasDTO.getNumeroResolucion());
		
		objetoJPA.setFecResolucion(incidenciasDTO.getFecResolucion());
		objetoJPA.setArchivoResolucion(incidenciasDTO.getArchivoResolucion());
		objetoJPA.setObservacionIncidencia(incidenciasDTO.getObservacionIncidencia());
		objetoJPA.setFechaInicio(incidenciasDTO.getFechaInicio());
		objetoJPA.setFechaFin(incidenciasDTO.getFechaFin());
		objetoJPA.setEstado(incidenciasDTO.getEstado());
		
		objetoJPA.setAuditoria(auditoria);
		
		return objetoJPA;
	}
	
	public static IncidenciasDTO createDTO(Incidencias incidenciasJPA){
		IncidenciasDTO objetoDTO= new IncidenciasDTO();

		objetoDTO.setIdIncidencia(incidenciasJPA.getIdIncidencia());
		objetoDTO.setIdFicha(incidenciasJPA.getIdFicha());
		objetoDTO.setIdEstadoIncidencia(incidenciasJPA.getIdEstadoIncidencia());
		objetoDTO.setIdMotivoIncidencia(incidenciasJPA.getIdMotivoIncidencia());		
		objetoDTO.setNumeroResolucion(incidenciasJPA.getNumeroResolucion());
		
		objetoDTO.setFecResolucion(incidenciasJPA.getFecResolucion());
		objetoDTO.setArchivoResolucion(incidenciasJPA.getArchivoResolucion());
		objetoDTO.setObservacionIncidencia(incidenciasJPA.getObservacionIncidencia());
		objetoDTO.setFechaInicio(incidenciasJPA.getFechaInicio());
		objetoDTO.setFechaFin(incidenciasJPA.getFechaFin());
		objetoDTO.setEstado(incidenciasJPA.getEstado());

		objetoDTO.setAuditoriaDTO(AuditoriaConvert.createDTO(incidenciasJPA.getAuditoria()));		
		
		return objetoDTO;
	}
	
	
	public static List<IncidenciasDTO> createListaIncidenciasDTO(List<Incidencias> listaIncidenciasJPA){
		List<IncidenciasDTO> listaIncidenciasDTO=new ArrayList<IncidenciasDTO>();
		IncidenciasDTO objetoDTO;
		for (Incidencias incidenciasJPA : listaIncidenciasJPA) {
			objetoDTO = new IncidenciasDTO();
			
			objetoDTO.setIdIncidencia(incidenciasJPA.getIdIncidencia());
			objetoDTO.setIdFicha(incidenciasJPA.getIdFicha());
			objetoDTO.setIdEstadoIncidencia(incidenciasJPA.getIdEstadoIncidencia());
			objetoDTO.setIdMotivoIncidencia(incidenciasJPA.getIdMotivoIncidencia());		
			objetoDTO.setNumeroResolucion(incidenciasJPA.getNumeroResolucion());
			
			objetoDTO.setFecResolucion(incidenciasJPA.getFecResolucion());
			objetoDTO.setArchivoResolucion(incidenciasJPA.getArchivoResolucion());
			objetoDTO.setObservacionIncidencia(incidenciasJPA.getObservacionIncidencia());
			objetoDTO.setFechaInicio(incidenciasJPA.getFechaInicio());
			objetoDTO.setFechaFin(incidenciasJPA.getFechaFin());
			objetoDTO.setEstado(incidenciasJPA.getEstado());

			objetoDTO.setAuditoriaDTO(AuditoriaConvert.createDTO(incidenciasJPA.getAuditoria()));	
			listaIncidenciasDTO.add(objetoDTO);
			
		}
		return listaIncidenciasDTO;
	}
}
